package android.fwirk.plurk;

import java.io.File;
import java.io.InputStream;
import java.util.Date;

import org.json.JSONArray;
import org.json.JSONObject;

import android.graphics.Bitmap;

import com.google.jplurk.CommentBy;
import com.google.jplurk.DateTime;
import com.google.jplurk.Gender;
import com.google.jplurk.Lang;
import com.google.jplurk.PlurkClient;
import com.google.jplurk.PrivacyPolicy;
import com.google.jplurk.Qualifier;

public class PlurkCustomClient {
	PlurkClient pc;
	PlurkUser user;
	
	public PlurkCustomClient(PlurkClient pc) {
		this.pc=pc;
	}

	public JSONObject addAllAsFan() {
		return pc.addAllAsFan();
	}

	public JSONObject addAllAsFriends() {
		return pc.addAllAsFriends();
	}

	public JSONObject addAsFan(int userId) {
		
		return pc.addAsFan(userId);
	}

	public JSONObject addAsFriend(int userId) {
		
		return pc.addAsFriend(userId);
	}

	
	public JSONObject addToClique(String cliqueName, String userId) {
		
		return pc.addToClique(cliqueName, userId);
	}

	
	public JSONObject becomeFan(int fanId) {
		
		return pc.becomeFan(fanId);
	}

	
	public JSONObject becomeFriend(int friendId) {
		
		return pc.becomeFriend(friendId);
	}

	
	public JSONObject block(String userId) {
		
		return pc.block(userId);
	}

	
	public JSONObject createClique(String cliqueName) {
		
		return pc.createClique(cliqueName);
	}

	
	public JSONObject deleteClique(String cliqueName) {
		
		return pc.deleteClique(cliqueName);
	}

	
	public JSONObject denyFriendship(int userId) {
		
		return pc.denyFriendship(userId);
	}

	
	public JSONObject getActive() {
		
		return pc.getActive();
	}

	
	public JSONObject getBlocks() {
		
		return pc.getBlocks();
	}

	
	public JSONObject getBlocks(int offset) {
		
		return pc.getBlocks(offset);
	}

	
	public JSONArray getClique(String cliqueName) {
		
		return pc.getClique(cliqueName);
	}

	
	public JSONArray getCliques() {
		
		return pc.getCliques();
	}

	
	public JSONObject getCompletion() {
		
		return pc.getCompletion();
	}

	
	public JSONObject getEmoticons() {
		
		return pc.getEmoticons();
	}

	
	public JSONArray getFansByOffset(String userId, int offset) {
		
		return pc.getFansByOffset(userId, offset);
	}

	
	public JSONObject getFollowingByOffset(int offset) {
		
		return pc.getFollowingByOffset(offset);
	}

	
	public JSONArray getFriendsByOffset(String userId, int offset) {
		
		return pc.getFriendsByOffset(userId, offset);
	}

	
	public JSONObject getHistory() {
		
		return pc.getHistory();
	}

	
	public JSONObject getOwnProfile() {
		
		return pc.getOwnProfile();
	}

	
	public JSONObject getPlurk(String plurkId) {
		
		return pc.getPlurk(plurkId);
	}

	
	public JSONObject getPlurks(DateTime offset, int limit, int userId,
			boolean onlyResponsed, boolean onlyPrivate) {
		
		return pc.getPlurks(offset, limit, userId, onlyResponsed, onlyPrivate);
	}

	
	public JSONObject getPollingPlurks(DateTime offset, int limit) {
		
		return pc.getPollingPlurks(offset, limit);
	}

	
	public JSONObject getPollingUnreadCount() {
		
		return pc.getPollingUnreadCount();
	}

	
	public JSONObject getPublicProfile(String userId) {
		
		return pc.getPublicProfile(userId);
	}

	
	public JSONObject getUnreadPlurks() {
		
		return pc.getUnreadPlurks();
	}

	
	public JSONObject getUnreadPlurks(DateTime offset, int limit) {
		
		return pc.getUnreadPlurks(offset, limit);
	}

	
	public JSONObject getUnreadPlurks(DateTime offset) {
		
		return pc.getUnreadPlurks(offset);
	}

	
	public JSONObject getUnreadPlurks(int limit) {
		
		return pc.getUnreadPlurks(limit);
	}

	
	public JSONObject login(String user, String password) {
		
		return pc.login(user, password);
	}

	
	public JSONObject markAsRead(String... ids) {
		return pc.markAsRead(ids);
	}

	
	public JSONObject mutePlurks(String... ids) {
		return pc.mutePlurks(ids);
	}

	
	public JSONObject plurkAdd(String content, Qualifier qualifier,
			CommentBy commentBy) {
		return pc.plurkAdd(content, qualifier, commentBy);
	}

	
	public JSONObject plurkAdd(String content, Qualifier qualifier, Lang lang) {
		return pc.plurkAdd(content, qualifier, lang);
	}

	
	public JSONObject plurkAdd(String content, Qualifier qualifier,
			String limitedTo, CommentBy commentBy, Lang lang) {
		return pc.plurkAdd(content, qualifier, limitedTo, commentBy, lang);
	}

	
	public JSONObject plurkAdd(String content, Qualifier qualifier) {
		return pc.plurkAdd(content, qualifier);
	}

	
	public JSONObject plurkDelete(String plurkId) {
		return pc.plurkDelete(plurkId);
	}

	
	public JSONObject plurkEdit(String plurkId, String content) {
		return pc.plurkEdit(plurkId, content);
	}

	
	public JSONObject register(String nickName, String fullName,
			String password, Gender gender, String dateOfBirth, String email) {
		return pc.register(nickName, fullName, password, gender, dateOfBirth, email);
	}

	
	public JSONObject register(String nickName, String fullName,
			String password, Gender gender, String dateOfBirth) {
		return pc.register(nickName, fullName, password, gender, dateOfBirth);
	}

	
	public JSONObject removeAsFriend(int friendId) {
		return pc.removeAsFriend(friendId);
	}

	
	public JSONObject removeFromClique(String cliqueName, String userId) {
		return pc.removeFromClique(cliqueName, userId);
	}

	
	public JSONObject removeNotification(int userId) {
		return pc.removeNotification(userId);
	}

	
	public JSONObject renameClique(String cliqueName, String newName) {
		return pc.renameClique(cliqueName, newName);
	}

	
	public JSONObject responseAdd(String plurkId, String content,
			Qualifier qualifier) {
		return pc.responseAdd(plurkId, content, qualifier);
	}

	
	public JSONObject responseDelete(String plurkId, String responseId) {
		return pc.responseDelete(plurkId, responseId);
	}

	
	public JSONObject responseGet(String plurkId) {
		return pc.responseGet(plurkId);
	}

	
	public JSONObject searchPlurk(String query, int offset) {
		return pc.searchPlurk(query, offset);
	}

	
	public JSONObject searchPlurk(String query) {
		return pc.searchPlurk(query);
	}

	
	public JSONObject searchUser(String query, int offset) {
		return pc.searchUser(query, offset);
	}

	
	public JSONObject searchUser(String query) {
		return pc.searchUser(query);
	}

	
	public JSONObject setFollowing(int userId, boolean follow) {
		return pc.setFollowing(userId, follow);
	}

	
	public JSONObject unblock(String userId) {
		return pc.unblock(userId);
	}

	
	public JSONObject unmutePlurks(String... ids) {
		return pc.unmutePlurks(ids);
	}

	
	public JSONObject update(String currentPassword, String fullName,
			String newPassword, String email, String displayName,
			PrivacyPolicy privacyPolicy, DateTime birth) {
		return pc.update(currentPassword, fullName, newPassword, email, displayName, privacyPolicy, birth);
	}

	
	public JSONObject updatePicture(File file) {
		return pc.updatePicture(file);
	}

	
	public JSONObject updatePicture(String fileName, InputStream inputStream) {
		return pc.updatePicture(fileName, inputStream);
	}

	
	public JSONObject uploadPicture(File file) {
		return pc.uploadPicture(file);
	}

	
	public JSONObject uploadPicture(String fileName, InputStream inputStream) {
		return pc.uploadPicture(fileName, inputStream);
	}

	public PlurkClient getPc() {
		return pc;
	}

	public void setPc(PlurkClient pc) {
		this.pc = pc;
	}

	public PlurkUser getUser() {
		return user;
	}

	public void setUser(PlurkUser user) {
		this.user = user;
	}

	
	public void downloadPic() {
		
		user.downloadPic();
	}

	
	public int getAlertsCount() {
		
		return user.getAlertsCount();
	}

	
	public String getAvatar() {
		
		return user.getAvatar();
	}

	
	public Date getDateOfBirth() {
		
		return user.getDateOfBirth();
	}

	
	public String getDisplayName() {
		
		return user.getDisplayName();
	}

	
	public int getFansCount() {
		
		return user.getFansCount();
	}

	
	public int getFriendsCount() {
		
		return user.getFriendsCount();
	}

	
	public String getFullName() {
		
		return user.getFullName();
	}

	
	public String getGender() {
		
		return user.getGender();
	}

	
	public int getHasProfileImage() {
		
		return user.getHasProfileImage();
	}

	
	public Bitmap getImage(String address) {
		
		return user.getImage(address);
	}

	
	public double getKarma() {
		
		return user.getKarma();
	}

	
	public String getLocation() {
		
		return user.getLocation();
	}

	
	public String getNickName() {
		
		return user.getNickName();
	}

	
	public String getPageTitle() {
		
		return user.getPageTitle();
	}

	
	public String getPic() {
		
		return user.getPic();
	}

	
	public Bitmap getPicture() {
		
		return user.getPicture();
	}

	
	public int getRecruited() {
		
		return user.getRecruited();
	}

	
	public String getRelationship() {
		
		return user.getRelationship();
	}

	
	public int getUnreadCount() {
		
		return user.getUnreadCount();
	}

	
	public int getUserID() {
		
		return user.getUserID();
	}

	
	public void parse(JSONObject data) {
		
		user.parse(data);
	}

	
	public void setAlertsCount(int alertsCount) {
		
		user.setAlertsCount(alertsCount);
	}

	
	public void setAvatar(String avatar) {
		
		user.setAvatar(avatar);
	}

	
	public void setDateOfBirth(Date dateOfBirth) {
		
		user.setDateOfBirth(dateOfBirth);
	}

	
	public void setDisplayName(String displayName) {
		
		user.setDisplayName(displayName);
	}

	
	public void setFansCount(int fansCount) {
		
		user.setFansCount(fansCount);
	}

	
	public void setFriendsCount(int friendsCount) {
		
		user.setFriendsCount(friendsCount);
	}

	
	public void setFullName(String fullName) {
		
		user.setFullName(fullName);
	}

	
	public void setGender(String gender) {
		
		user.setGender(gender);
	}

	
	public void setHasProfileImage(int hasProfileImage) {
		
		user.setHasProfileImage(hasProfileImage);
	}

	
	public void setKarma(double karma) {
		
		user.setKarma(karma);
	}

	
	public void setLocation(String location) {
		
		user.setLocation(location);
	}

	
	public void setNickName(String nickName) {
		
		user.setNickName(nickName);
	}

	
	public void setPageTitle(String pageTitle) {
		
		user.setPageTitle(pageTitle);
	}

	
	public void setPic(String pic) {
		
		user.setPic(pic);
	}

	
	public void setPicture(Bitmap picture) {
		
		user.setPicture(picture);
	}

	
	public void setRecruited(int recruited) {
		
		user.setRecruited(recruited);
	}

	
	public void setRelationship(String relationship) {
		
		user.setRelationship(relationship);
	}

	
	public void setUnreadCount(int unreadCount) {
		
		user.setUnreadCount(unreadCount);
	}

	
	public void setUserID(int userID) {
		
		user.setUserID(userID);
	}
	
}
